﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace NewSeasonFinder
{
    public partial class Form_About : Form
    {
        List<changelog> ChangeLogs = new List<changelog>();
        changelog change = new changelog();

        public void RecordedChangeLogs()
        {

            change = new changelog();
            change.date = DateTime.Parse("2013.4.7");
            change.Version = "1.1.0.12";
            change.Details = new List<string>();
            change.Details.Add("增加重置浏览器功能");

            change = new changelog();
            change.date = DateTime.Parse("2012.7.9");
            change.Version = "1.1.0.11";
            change.Details = new List<string>();
            change.Details.Add("测试版本，自动重命名增加去[***]功能");
            ChangeLogs.Add(change);

            change = new changelog();
            change.date = DateTime.Parse("2012.6.13");
            change.Version = "1.1.0.10";
            change.Details = new List<string>();
            change.Details.Add("增加自动重命名功能");
            ChangeLogs.Add(change);
			
            change = new changelog();
            change.date = DateTime.Parse("2011.9.17");
            change.Version = "1.1.0.9";
            change.Details = new List<string>();
            change.Details.Add("修改剧集管理界面，增加按钮");
            ChangeLogs.Add(change);

            change = new changelog();
            change.date = DateTime.Parse("2011.9.4");
            change.Version = "1.1.0.8";
            change.Details = new List<string>();
            change.Details.Add("修改树视图显示系统,不包含子季的剧集将不再挂树,保证树视图简洁清晰");
            change.Details.Add("修改树视图右键菜单顺序,\"移动并保留共享\"的位置上升了");
            change.Details.Add(".chs.cn的中文字幕,重命名后将于视频文件名称一致,不再包含.chs.cn的修饰,方便一些播放器的自动字幕挂载");
            ChangeLogs.Add(change);

            change = new changelog();
            change.date = DateTime.Parse("2011.5.11");
            change.Version = "1.1.0.7";
            change.Details = new List<string>();
            change.Details.Add("增加标记功能,帮你记住看到哪一集");
            ChangeLogs.Add(change);

            change = new changelog();
            change.date = DateTime.Parse("2011.4.24");
            change.Version = "1.1.0.6";
            change.Details = new List<string>();
            change.Details.Add("修正了移动文件功能导致程序出错退出的Bug");
            ChangeLogs.Add(change);

            change = new changelog();
            change.date = DateTime.Parse("2011.4.13");
            change.Version = "1.1.0.5";
            change.Details = new List<string>();
            change.Details.Add("增加用户配置引导");
            ChangeLogs.Add(change);

            change = new changelog();
            change.date = DateTime.Parse("2011.4.10");
            change.Version = "1.1.0.4";
            change.Details = new List<string>();
            change.Details.Add("字幕随文件复制/移动");
            change.Details.Add("优化代码结构");
            change.Details.Add("###待完成：增加设置引导，提高新用户体验###");
            ChangeLogs.Add(change);
            change = new changelog();
            change.date = DateTime.Parse("2011.3.20");
            change.Version = "1.1.0.3";
            change.Details = new List<string>();
            change.Details.Add("增加文件复制/移动功能");
            change.Details.Add("###待完成：增加设置引导，提高新用户体验###");
            ChangeLogs.Add(change);

            change = new changelog();
            change.date = DateTime.Parse("2011.2.27");
            change.Version = "1.1.0.2";
            change.Details = new List<string>();
            change.Details.Add("修正Bug,现在可以正确处理多季的剧集");
            change.Details.Add("修正Bug,避免新增视频文件挂树后顺序错误");
            change.Details.Add("###待完成：增加设置引导，提高新用户体验###");
            ChangeLogs.Add(change);

            change = new changelog();
            change.date = DateTime.Parse("2011.2.22");
            change.Version = "1.1.0.1";
            change.Details = new List<string>();
            change.Details.Add("增加判断，避免文件或文件夹在程序外被移动后直接抛出异常");
            change.Details.Add("###待完成：增加设置引导，提高新用户体验###");
            ChangeLogs.Add(change);

            change = new changelog();
            change.date = DateTime.Parse("2011.2.20");
            change.Version = "1.1.0.0";
            change.Details = new List<string>();
            change.Details.Add("重写添加/删除剧集功能，增加'季'级别");
            change.Details.Add("修改主界面，增加'季'级别");
            change.Details.Add("优化右键功能");
            change.Details.Add("###待完成：增加设置引导，提高新用户体验###");
            ChangeLogs.Add(change);

            change = new changelog();
            change.date = DateTime.Parse("2011.2.19");
            change.Version = "1.0.1.8";
            change.Details = new List<string>();
            change.Details.Add("增加移动字幕到视频所在文件夹的功能");
            change.Details.Add("###待完成：重新设计列表，增加'季'级别，方便对所有之前季进行查找###");
            change.Details.Add("###待完成：增加设置引导，提高新用户体验###");
            ChangeLogs.Add(change);

            change = new changelog();
            change.date = DateTime.Parse("2011.2.17");
            change.Version = "1.0.1.7";
            change.Details = new List<string>();
            change.Details.Add("增加提示，防止用户在尚未保存的情况下退出设置窗口");
            change.Details.Add("###待完成：重新设计列表，增加'季'级别，方便对所有之前季进行查找###");
            change.Details.Add("###待完成：增加设置引导，提高新用户体验###");
            change.Details.Add("###待完成：增加移动字幕到视频文件夹###");
            ChangeLogs.Add(change);

            change = new changelog();
            change.date = DateTime.Parse("2011.2.13");
            change.Version = "1.0.1.6";
            change.Details = new List<string>();
            change.Details.Add("修正字母文件重命名时ass扩展名被错误修改的问题");
            change.Details.Add("修改查找文件夹方式,现在包括子文件夹");
            change.Details.Add("修改文件夹设置界面,防止添加重复的文件夹或者现有文件夹的子文件夹,并自动排序");
            change.Details.Add("###待完成：重新设计列表，增加'季'级别，方便对所有之前季进行查找###");
            ChangeLogs.Add(change);

            change = new changelog();
            change.date = DateTime.Parse("2011.2.11");
            change.Version = "1.0.1.5";
            change.Details = new List<string>();
            change.Details.Add("优化剧集添加删除界面，自动为剧集按字母顺序排序");
            change.Details.Add("###待完成：重新设计列表，增加'季'级别，方便对所有之前季进行查找###");
            ChangeLogs.Add(change);

            change = new changelog();
            change.date = DateTime.Parse("2011.2.10");
            change.Version = "1.0.1.4";
            change.Details = new List<string>();
            change.Details.Add("增加列表的局部刷新功能");
            change.Details.Add("###待完成：重新设计列表，增加'季'级别，方便对所有之前季进行查找###");
            ChangeLogs.Add(change);

            change = new changelog();
            change.date = DateTime.Parse("2011.2.7");
            change.Version = "1.0.1.3";
            change.Details = new List<string>();
            change.Details.Add("页面主要内容刷新完成后停止刷新");
            change.Details.Add("解决House和Housewives这样子字符串造成混淆的问题");
            change.Details.Add("优化函数结构");
            change.Details.Add("---取消：“查找所有”功能---");
            change.Details.Add("###待完成：列表的局部刷新功能###");
            change.Details.Add("###待完成：重新设计列表，增加'季'级别，方便对所有之前季进行查找###");
            ChangeLogs.Add(change);

            change = new changelog();
            change.date = DateTime.Parse("2011.1.21");
            change.Version = "1.0.1.2";
            change.Details = new List<string>();
            change.Details.Add("搜索未下载集后，可直接双击搜索结果获取字符串");
            change.Details.Add("修改为下载集查找，可以查找中间遗漏集");
            change.Details.Add("###待完成：列表的局部刷新功能###");
            change.Details.Add("###待完成：重新设计列表，增加'季'级别，方便对所有之前季进行查找###");
            change.Details.Add("###待完成：“查找所有”功能###");
            ChangeLogs.Add(change);

            change = new changelog();
            change.date = DateTime.Parse("2011.1.19");
            change.Version = "1.0.1.1";
            change.Details = new List<string>();
            change.Details.Add("增加对rmvb,ass,mkv文件的搜送");
            change.Details.Add("###待完成：列表的右键菜单功能###");
            change.Details.Add("###待完成：列表的局部刷新功能###");
            change.Details.Add("###待完成：重新设计列表，增加'季'级别，方便对所有之前季进行查找###");
            change.Details.Add("###待完成：“查找所有”功能###");
            ChangeLogs.Add(change);

            change = new changelog();
            change.date = DateTime.Parse("2011.1.12");
            change.Version = "1.0.1.0";
            change.Details = new List<string>();
            change.Details.Add("增加文件信息查看功能");
            change.Details.Add("修改文件匹配算法，提高潜在的识别准确率");
            change.Details.Add("修改文件匹配算法，增加对“711”形式的剧集编号的识别");
            change.Details.Add("###待完成：“查找所有”功能###");
            ChangeLogs.Add(change);

            change = new changelog();
            change.date = DateTime.Parse("2011.1.11");
            change.Version = "1.0.0.0";
            change.Details = new List<string>();
            change.Details.Add("正式转入1.x版本");
            change.Details.Add("将大部分功能整合入右键菜单");
            change.Details.Add("新增视频文件改名功能");
            change.Details.Add("新增“关于”窗口");
            change.Details.Add("###待完成：“查找所有”功能###");
            ChangeLogs.Add(change);
        }

        public Form_About()
        {
            InitializeComponent();
            richTextBox1.Text = "追美剧(" + ProductVersion + "):\r\n";
            richTextBox1.Text += "    本程序基于射手网的字幕查询来确定确定是否有尚未下载的新一集，帮助追多部剧集的同好们保持更新。同时帮助管理剧集并提供<一键查询字幕>、<一键修改字幕名称以匹配视频文件>等功能。\r\n";
            richTextBox1.Text += "\r\n                    By Zephyr (vcyuyu@gmail.com)";

            RecordedChangeLogs();
            LoadChangeLog();
        }

        private void LoadChangeLog()
        {
            richTextBox2.Text = "";
            foreach (changelog cl in ChangeLogs)
            {
                richTextBox2.Text += string.Format("{0} 版本：{1}\r\n", cl.date.ToString("yyyy-M-d"), cl.Version);
                for (int i = 0; i < cl.Details.Count; i++)
                {
                    richTextBox2.Text += string.Format("  {0}. {1}\r\n", i+1, cl.Details[i]);
                }
                richTextBox2.Text += "============================================\r\n\r\n";
            }
        }

        private struct changelog
        {
            public DateTime date;
            public String Version;
            public List<string> Details;
        }
    }
}
